package com.bmob.lover.ui.fragment.festival

import android.content.Context
import com.bmob.lover.R
import com.bmob.lover.data.model.enums.BackgroundType
import com.qmuiteam.qmui.arch.QMUIFragment
import com.qmuiteam.qmui.widget.QMUITopBarLayout
import com.theone.mvvm.base.viewmodel.BaseViewModel
import com.theone.mvvm.core.app.ext.qmui.addTab
import com.theone.mvvm.core.app.widge.indicator.SkinScaleTransitionPagerTitleView
import com.theone.mvvm.core.base.fragment.BaseTabInTitleFragment
import com.theone.mvvm.core.data.entity.QMUIItemBean
import com.theone.mvvm.ext.qmui.addLeftCloseImageBtn
import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerIndicator
import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.SimplePagerTitleView

//  ┏┓　　　┏┓
//┏┛┻━━━┛┻┓
//┃　　　　　　　┃
//┃　　　━　　　┃
//┃　┳┛　┗┳　┃
//┃　　　　　　　┃
//┃　　　┻　　　┃
//┃　　　　　　　┃
//┗━┓　　　┏━┛
//    ┃　　　┃                  神兽保佑
//    ┃　　　┃                  永无BUG！
//    ┃　　　┗━━━┓
//    ┃　　　　　　　┣┓
//    ┃　　　　　　　┏┛
//    ┗┓┓┏━┳┓┏┛
//      ┃┫┫　┃┫┫
//      ┗┻┛　┗┻┛
/**
 * @author The one
 * @date 2021-05-12 10:18
 * @describe TODO
 * @email 625805189@qq.com
 * @remark
 */
class FestivalBgFragment: BaseTabInTitleFragment<BaseViewModel>() {

    override fun QMUITopBarLayout.initTopBar() {
        addLeftCloseImageBtn()
        setCenterView(getMagicIndicator())
        addRightImageButton(R.drawable.icon_add_dark, R.id.topbar_right_view).setOnClickListener {
            startFragment(FestivalBgAddFragment.newInstance())
        }
    }

    override fun initTabAndFragments(
        tabs: MutableList<QMUIItemBean>,
        fragments: MutableList<QMUIFragment>
    ) {

        BackgroundType.TYPES.entries.forEach {
            tabs.addTab(it.value)
            fragments.add(FestivalBgItemFragment.newInstance(it.key))
        }
    }


    override fun getPagerTitleView(context: Context): SimplePagerTitleView =
        SkinScaleTransitionPagerTitleView(context).apply {
            paint.isFakeBoldText = true
        }

    override fun getNavIndicator(context: Context): IPagerIndicator? = null

}